home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 337_01 / l_string.c < prev    next >
C/C++ Source or Header  |  1991-01-12  |  1KB  |  68 lines

  1. /* Copyright (c) James L. Pinson 1990,1991  */
  2.  
  3. /**********************   L_STRING.C   ***************************/
  4.  
  5. #include "mydef.h"
  6.  
  7.  
  8. /*****************************************************************
  9.  
  10.  Usage: int pos(char *string,char *pattern)
  11.  
  12.   char *string= string to search.
  13.  
  14.   char *pattern= text to search for.
  15.  
  16.   Returns an integer value representing the location of
  17.   pattern within string.
  18.  
  19.   Example:  string= "this is a test"
  20.             i=  pos(&string,'test');
  21.  
  22.             results: i=10
  23.  
  24. *****************************************************************/
  25.  
  26. int pos(char *string,char *pattern)
  27.  
  28. {
  29.   int i,j,found=0;
  30.  
  31.    for(i=0;i<= strlen(string)-strlen(pattern);i++){
  32.  
  33.     /* find first location */
  34.     if (toupper(string[i]) == toupper(pattern[0])){  
  35.      found=1;
  36.  
  37.        for (j=1;j<=strlen(pattern)-1;j++){
  38.           if (toupper(string[i+j]) != toupper(pattern[j])) {
  39.            found=0;
  40.            break;
  41.           }
  42.        }
  43.     }
  44.    if(found) return (i);
  45.   }
  46. return (-1);
  47. }
  48.  
  49.  
  50. /*****************************************************************
  51.  
  52.  Usage: int caps(char *string);
  53.  
  54.  char *string= string to make upper case
  55.  
  56.  Converts all letters in string to uppercase.
  57.  
  58. *****************************************************************/
  59.  
  60.  
  61. /***CAPS***/
  62. void caps(char *string)
  63. {
  64.  int i;
  65.  
  66.  for (i=0;string[i] != '\0';i++)  string[i]= toupper(string[i]);
  67. }
  68.